﻿using Framework.Utility.ViewModels;
using System.ComponentModel.DataAnnotations.Schema;

namespace Framework.Models.Entities
{
    /// <summary>
    /// 工作流流程实例表
    /// </summary>
    [Table("Fw_Flowinstance")]
    public class Fw_Flowinstance : BaseEntity<string>
    {
        /// <summary>
        /// 实例编号
        /// </summary>
        public string FlowCode { get; set; }

        /// <summary>
        /// 自定义实例名称
        /// </summary>
        public string CustomName { get; set; }

        /// <summary>
        /// 申请人userid
        /// </summary>
        public string ApplyUserId { get; set; }
        /// <summary>
        /// 申请人姓名
        /// </summary>
        public string ApplyUserName { get; set; }
        /// <summary>
        /// 前一个节点ID
        /// </summary>
        public string? PreviousId { get; set; }

        /// <summary>
        /// 当前节点ID
        /// </summary>
        public string? ActivityId { get; set; }

        /// <summary>
        /// 当前节点类型（0会签节点）
        /// </summary>
        public int? ActivityType { get; set; }

        /// <summary>
        /// 当前节点名称
        /// </summary>
        public string? ActivityName { get; set; }

        /// <summary>
        /// 流程模板ID
        /// </summary>
        public string SchemeId { get; set; }

        /// <summary>
        /// 流程模板内容
        /// </summary>
        public string SchemeContent { get; set; }

        /// <summary>
        /// 等级
        /// </summary>
        public int FlowLevel { get; set; }

        /// <summary>
        /// 表单数据
        /// </summary>
        public string? FrmData { get; set; }

        /// <summary>
        /// 表单中的控件属性描述
        /// </summary>
        public string? FrmContentData { get; set; }

        /// <summary>
        /// 执行人
        /// </summary>
        public string? MakerList { get; set; }

        /// <summary>
        /// 会签通过的个数
        /// </summary>
        public int? ConfluenceOk { get; set; }

        /// <summary>
        /// 会签拒绝的个数
        /// </summary>
        public int? ConfluenceNo { get; set; }

        /// <summary>
        ///  流程执行时，三方回调的URL地址
        /// </summary>
        public string? ThirdPartyUrl { get; set; }

        /// <summary>
        /// 是否完成
        /// </summary>
        public int IsFinish { get; set; }

        /// <summary>
        /// 备注说明
        /// </summary>
        public string? Description { get; set; }
    }
}